Transaction Script
DDDと対比して紹介される
この図がわかりやすい
↓このサイトに、DDDの図もあるので比較して見ると何を言っているかわかる
https://gyazo.com/48148dffe5c2595283bf6548ee2fef2f https://www.itmedia.co.jp/im/articles/0702/21/news110_3.html
DDDを知っている前提で説明するとこんな感じだろうか?mrsekut.icon
Domain層に、機能ごとに関数を定義する
Use CaseをDomain層に書いているイメージだろうか
パーシステンス層というのは、だいたいRepositoryみたいなやつ
参照時は、これを経由して、ValueObjectとして受け取る
更新時は、これを経由して、DBを変更する
サービス層と、ドメイン層の責務が似ているので分離がしづらい
transationの処理を中心に置いたモデルと言う感じ
Smart UIと比較すると、
『エリック・エヴァンスのドメイン駆動設計』 p.76
Smart UIを少し改善したもの
ユーザーインタフェースをアプリケーションから分離はするが、オブジェクトモデルは提供しない
Viewとアプリケーション(たぶんドメイン層のこと?)を分離する
しかし、ドメイン層がUseCaseのようなものなので、DDDの文脈でのオブジェクトモデル(たぶんDomain Objectのようなやつ)が存在しない
https://enrike3.hatenablog.com/entry/2019/12/28/002201
(ORMなどを使わず)SQLを手書きするなら、Domain Objectの使用は無理で、Transation Script一択
SQLを細かく制御したいならばドメインモデルを選択することはできず、トランザクションスクリプト一択
トランザクションスクリプト+DAOではRepositoryは不要
トランザクションスクリプト
なんでこんな分かりづらい文章書くんだmrsekut.icon
https://www.yo1000.com/ddd-transcript